package com.silver.weibo.utils;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

@Data
public class PageUtil {

    // 查询博客总数
    private Integer totalBlogNo;
    // 当前页数
    private Integer currentPageNo;
    // 每页的博客数
    private Integer pageSize;
    // 总页数
    private Integer totalPageNo;

    public PageUtil(Integer totalBlogNo, Integer currentPageNo, Integer pageSize) {
        this.totalBlogNo = totalBlogNo;
        this.currentPageNo = currentPageNo;
        this.pageSize = pageSize;
    }


    public Integer getTotalPageNo() {
        totalPageNo = totalBlogNo / (pageSize * 2);
        if (totalBlogNo > totalPageNo * (pageSize * 2)) {
            totalPageNo = totalPageNo + 1;
        }
        return totalPageNo;
    }

    public List<Integer> countPreAndSufNo() {
        int total = getTotalPageNo();
        int preNo = 0;
        int sufNo = 0;

        if (total <= 5) {
            preNo = 1;
            sufNo = total;
        }
        if (total > 5) {
            if (currentPageNo < 5) {
                preNo = 1;
                sufNo = 5;
            } else if (currentPageNo < total) {
                preNo = currentPageNo - 3;
                sufNo = currentPageNo + 1;
            } else if (currentPageNo == total) {
                preNo = currentPageNo - 4;
                sufNo = currentPageNo;
            } else {
                preNo = currentPageNo;
                sufNo = currentPageNo;
            }
        }
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = preNo; i <= sufNo; i++) {
            list.add(i);
        }
        return list;
    }

}
